package com.retail.marketing.common.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.retail.common.core.annotation.Excel;
import com.retail.common.core.web.domain.BaseEntity;

/**
 * 优惠券规则管理对象 t_coupon_rule
 *
 * @author retail
 * @date 2024-02-27
 */
public class TCouponRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 优惠券规则ID */
    private Integer couponRuleId;

    /** 优惠券ID */
    @Excel(name = "优惠券ID")
    private Integer couponId;

    /** 适用商品分类ID(可选) */
    @Excel(name = "适用商品分类ID(可选)")
    private Integer productCategoryId;

    /** 适用商品ID(可选) */
    @Excel(name = "适用商品ID(可选)")
    private Integer productId;

    /** 适用品牌ID(可选) */
    @Excel(name = "适用品牌ID(可选)")
    private Integer brandId;

    /** 描述 */
    @Excel(name = "描述")
    private String ruleDescription;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 优惠券管理信息 */
    private List<TCoupon> tCouponList;

    public void setCouponRuleId(Integer couponRuleId)
    {
        this.couponRuleId = couponRuleId;
    }

    public Integer getCouponRuleId()
    {
        return couponRuleId;
    }
    public void setCouponId(Integer couponId)
    {
        this.couponId = couponId;
    }

    public Integer getCouponId()
    {
        return couponId;
    }
    public void setProductCategoryId(Integer productCategoryId)
    {
        this.productCategoryId = productCategoryId;
    }

    public Integer getProductCategoryId()
    {
        return productCategoryId;
    }
    public void setProductId(Integer productId)
    {
        this.productId = productId;
    }

    public Integer getProductId()
    {
        return productId;
    }
    public void setBrandId(Integer brandId)
    {
        this.brandId = brandId;
    }

    public Integer getBrandId()
    {
        return brandId;
    }
    public void setRuleDescription(String ruleDescription)
    {
        this.ruleDescription = ruleDescription;
    }

    public String getRuleDescription()
    {
        return ruleDescription;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }

    public List<TCoupon> getTCouponList()
    {
        return tCouponList;
    }

    public void setTCouponList(List<TCoupon> tCouponList)
    {
        this.tCouponList = tCouponList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("couponRuleId", getCouponRuleId())
            .append("couponId", getCouponId())
            .append("productCategoryId", getProductCategoryId())
            .append("productId", getProductId())
            .append("brandId", getBrandId())
            .append("ruleDescription", getRuleDescription())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("tCouponList", getTCouponList())
            .toString();
    }
}
